package com.cy.pj.common.bo;

import java.io.Serializable;

import lombok.Data;

/**
 * 基于此对象实现控制层数据的封装,为业务层返回结果数据添加状态信息
 * @author private
 *
 */
@Data
public class JsonResult implements Serializable{//注意,此类中的所有属性名必须按照这个名字去写,方便前端复用(有写好的代码用的是这个属性)
	private static final long serialVersionUID = -7183463516791279551L;
	/** 用于标识服务端响应到客户端数据的状态 */
	private Integer state = 1;//1.正确 , 0错误
	/** 用于记录状态码对应的状态信息 */
	private String message = "ok";
	/** 用于存储业务层返回给控制层的数据,或者是控制层自己封装的数据 */
	private Object data;
	
	/** 当保存删除更新以后,给出一个消息,可以调用此构造函数将消息传递给客户端 */
	public JsonResult(String message) {
		this.message = message;
	}
	/** 将数据封装回传给客户端 */
	public JsonResult(Object data) {
		this.data = data;
	}
	/** 将异常信息和状态封装发送给客户端 */
	public JsonResult(Throwable e) {
		this.state = 0;
		this.message = e.getMessage();
	}
	public JsonResult() {}
}
